/*******************************************************************************
 * Project Key : CPPII
 * Create on 2013-11-5 下午3:08:35
 * Copyright (c) 2009 - 2018.银盛支付服务股份有限公司版权所有 粤ICP备14098269号
 * 注意：本内容仅限于银盛支付服务股份有限公司内部传阅，禁止外泄以及用于其他的商业目的
 ******************************************************************************/
package com.ny.zmb.openapi.ysutil.base;


import com.ny.zmb.openapi.ysutil.annotation.Length;
import com.ny.zmb.openapi.ysutil.annotation.NotBlank;
import com.ny.zmb.openapi.ysutil.annotation.Pattern;

/**
 * 
 * <P>支付基本参数</P>
 * 
 * @version $Id$
 * @user zcw 2021年4月1日 下午2:34:30
 */
public class CommonBizTradeRequestCommand<T extends CommonBizTradeRequestCommand<?>> extends BaseBizReqCommand<T> {
	/**
	 * TODO
	 */
	private static final long serialVersionUID = 1L;

	@NotBlank(message = "商户订单号不能为空")
	@Length(max = 32, message = "商户订单号最大长度不能超过32个字符")
	private String merchantOrderNo;

	@NotBlank(message = "交易金额不能为空")
	@Pattern(regexp = "^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$", message = "交易金额格式不正确")
	private String tradeAmount;

	@NotBlank(message = "交易时间不能为空")
	@Length(min = 14, max = 14, message = "交易时间格式不规范")
	private String tradeTime;

	@NotBlank(message = "订单描述不能为空")
	@Length(max = 50, message = "订单描述超过50个字符")
	private String orderDesc;

	public String getOrderDesc() {
		return orderDesc;
	}

	public T setMerchantOrderNo(String merchantOrderNo) {
		this.merchantOrderNo = merchantOrderNo;
		return (T) this;
	}

	public T setTradeAmount(String tradeAmount) {
		this.tradeAmount = tradeAmount;
		return (T) this;
	}

	public T setTradeTime(String tradeTime) {
		this.tradeTime = tradeTime;
		return (T) this;
	}

	public T setOrderDesc(String orderDesc) {
		this.orderDesc = orderDesc;
		return (T) this;
	}

	public String getMerchantOrderNo() {
		return merchantOrderNo;
	}

	public String getTradeAmount() {
		return tradeAmount;
	}

	public String getTradeTime() {
		return tradeTime;
	}

}
